-
Notifications
You must be signed in to change notification settings - Fork 525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--use-targets : switch for using msbuid targets #302
Conversation
this.ConfigureReference(installModel, useTargets) | ||
|
||
member private this.ConfigureReference(installModel : InstallModel, useTargets) = | ||
if useTargets then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't it be the other way around?
if not useTargets then
do old way
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes you're right.
I notice a new issue which might interfere with this one. #297 shows that multiple package can reference the same framework assembly references. So we need to merge all install models and remove the duplicates. ;-( |
Merge I will rebase later on... I'm a bit used to this these times ;-) |
I reviewed quickly #297 and both could be merged altogether without interference probably. This patch actually does not change GenerateXml ; next one will. |
no my question was: how does this change the strategy? I think it's not possible to split the installation by package. We need to generate one god install targets file. |
so we would have one targets file per project and not one targets file per package. that's messing with the plan, right? |
Yes, the idea is to have one import per package - not per project. Could you explain why we should go to that way ?
|
The issue showed the following case: project A and B reference the same I fixed it by building a complete model per project and removing I hate that, but I don't see a better way, yet.
|
But fx assemblies must be out of this scheme as they are tied to project - not packages. Assemblies reference inside a package are solely determined considering fx target version.
|
so you vote for hybrid? 2014-10-29 9:37 GMT+01:00 Pierre Chalamet notifications@github.com:
|
Don't know what hybrid is but if it means:
My goal is just to be able to upgrade packages without changing project definition. Not to smoothly switch from fx 4,0 to 4.5 for example. Just to explain the use case, I'm currently building a project named "full-build" to easily switch a project to/from source to/from binaries inside a big solution. And I want to handle 3rd parties consistency globally without changing anything inside project definitions - that's where Paket will be used. And for that, I need targets files to handle 3rd parties. |
unfortunately the latest case (with assembly framework references) seems to make this impossible. At least there are some cases where I don't see a solution. |
Can we treat framework references as own packages, so they can participate in resolution process and be part of install model? |
Mhm. That's an interesting idea.
|
Yea, but after a second look I realized, they unfortunately do not behave like packages. Could we populate some list of already added fx references in the msbuild and than make the includes conditional based on whether an fx reference is already added or not? |
Yes one could do this.
|
I've implemented my own package manager into full-build to generate *.targets files. I can now get rid of Paket. |
As discussed, this is the first step for issue #197.
Next steps will be as follow:
Feature will be disable by default until everything is testing in the wild.